1. Technical Field
The present invention relates in general to improved methods for interchanging data within a distributed data processing system and in particular to improved methods for interchanging multimedia and non-multimedia data within a distributed data processing system.
2. Description of the Related Art
The interchange of data within a distributed data processing system is a well known feature of modern state-of-the-art computer systems. Text and graphics may be efficiently interchanged between data processing facilities utilizing well known modem devices or facsimile devices/cards.
Recently, modern computer systems have begun to experiment in so-called xe2x80x9cmultimediaxe2x80x9d data. That is, presentations containing audio, video, text, graphics and image combined into a common presentation. One problem encountered in the interchange of such multimedia data in a distributed data processing system is the communications interface. The communications interface is frequently the performance constraint in computer systems which support multimedia sources with multiple communications sessions. Several types of communications interfaces which may be utilized in a distributed data processing system include: Local Area Networks (LAN), Wide Area Networks (WAN), and System Bus. Examples of each type of communications interface are listed below.
Local Area Networks (LANs): Token Ring, Ethernet, FDDI, wireless LAN, etc. between the multimedia data sender and the receiving station.
Wide Area Networks (WAN): ISDN, etc. between the multimedia data sender and the receiving station.
System Bus: Multimedia systems store multimedia data on some type of storage, then when a receiving station requests multimedia data, the data is retrieved from the storage and sent across the system bus to some type of communications interface to the receiving station.
Currently, a system which transmits multimedia data to a receiving station across a communications interface sends the data at a preselected rate (bytes or frames per second) based on the type of multimedia data and compression algorithm. This approach, called isochronous transmission, will allocate predictable multimedia data transmission rates for each multimedia session. The receiving station in such an approach assumes the multimedia data arrives at the same rate at which it should be presented to the user at the receiving station.
For example, if a receiving station and a remote sending station choose to communicate with each other across a communications interface, the receiving station and the remote sending station negotiate a set amount of bandwidth for that connection. A dedicated timeslot, such as every 30th of a second, is reserved for the transmission, and no other data may be transmitted in that timeslot. A problem arises with isochronous transmission of multimedia data. Isochronous transmission requires specific hardware which increases the cost of the system. In addition, isochronous transmission may not function as well for general purpose computing. It is therefore apparent a need exists for a method of interchanging multimedia data across any type of communications interface without the need of special hardware.
Another problem encountered within a communications interface is the possible overrun of data transmission to the receiving station. To prevent the overrun of data transmission, a technique called xe2x80x9cpacingxe2x80x9d controls the transmission of data by a sending station. For example, printers receiving print jobs or a receiving station downloading file transfers from a sending station may utilize pacing to prevent overrun. Sophisticated pacing techniques exist for the transmission of non-multimedia data, such as adaptive pacing, which allows a receiving station to change or adapt the pacing window size based on its buffer resources and traffic patterns in the network. However, in the transmission of multimedia data, no pacing exists.
Fixed pacing consists of the sending station and the receiving station negotiating, before the interchange of the data, a fixed window size for the data which remains constant during the duration of the interchange of multimedia data. A pacing response during the interchange signifies the readiness of the receiving station to receive a window size of multimedia data. The sending station receives the pacing response from the receiving station, immediately transfers a fixed window size of the information to the transmission queue of the sending station, waits until receiving the next pacing response from the receiving station, and then transfers another fixed window size of information to the transmission queue.
The transfer of information to the transmission queue of a sending station has a profound effect on the efficiency of the communications interface. The transmission queue of the sending station lists the items of multimedia or non-multimedia data to be transmitted from the sending station to a plurality of receiving stations. The transmission queue transmits the listed items on a first come, first served basis. The transmission queue is a limited storage buffer and when storage is unavailable, a transfer of data to the transmission queue must wait for more storage to become available. The availability of storage within the transmission queue differs over time, resulting in peaks and valleys in the information flow rate through the transmission queue. Long peaks in the information flow rate can lead to overloading and instability of the communications interface. This problem, the control of the peaks and valleys in the information flow rate, is especially acute when multimedia data interchange, along with non-multimedia data interchange, occurs across the communications interface since multimedia data consumes a large portion of the bandwidth.
It is therefore one object of the present invention to provide an improved method and apparatus for interchanging data within a distributed data processing system.
It is another object of the present invention to provide an improved method and apparatus for interchanging multimedia and non-multimedia data within a distributed data processing system.
It is yet another object of the present invention to provide an improved method and apparatus for multimedia and non-multimedia data interchange with multimedia pacing capability in a distributed data processing system.
The foregoing objects are achieved as is now described. The efficiency of the communications interface is improved by taking advantage of the large amount of storage available in a typical multimedia receiving station and by utilizing an intelligent multimedia pacing capability. When a multimedia data communications session begins between a sending station and one of a plurality of receiving stations which support multimedia pacing capability, the receiving station and the sending station negotiate on pacing parameters to be utilized during the multimedia data communications session. During the multimedia data communications session, the receiving station transmits multimedia pacing requests to the sending station at negotiated set time intervals. The multimedia pacing request includes information on the availability of current storage for multimedia data in the receiving station, the minimum data time remaining in storage in the receiving station, a parameter to synchronize the interchange of the multimedia data between the receiving system and the sending system and other information pertaining to the interchange of the multimedia data. The sending station then allocates various priorities to the transmission of data to the plurality of receiving stations in an order indicative of the type of data, i.e. multimedia or non-multimedia, and the information in the multimedia pacing request pertaining to the minimum data time remaining in storage at the receiving station.
When the receiving station has only a small amount of multimedia time remaining in storage, the sending station allocates a high priority to the transmission of more multimedia data to that receiving station. When a receiving station has a sufficiently large amount of multimedia time remaining in storage, the sending station allocates a low priority to the transmission of more multimedia data to that receiving station. In addition, the sending station periodically determines the availability of the transmission queue for output data. When the transmission queue is not readily available, the sending station transfers only high priority data to the transmission queue. However, when the transmission queue is available, the sending station transfers lower priority data to the transmission queue as well. The sending station can then supply a plurality of receiving stations with significant multimedia data in advance of actual requirements when the communications interface is not overloaded. Thus, the multimedia pacing method of the present invention flattens the peaks and valleys of the information flow rate through the transmission queue, increasing the total throughput of the communication interface. In addition, any type of communications interface can support the multimedia pacing capability utilizing asynchronous transmission rather than isochronous transmission, which requires special hardware.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.